package git.soulbgm.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 记录日志的工具类
 *
 * @author SoulBGM
 * @date 2024/02/27
 */
public class LogHelper {

    private final Logger log;

    public LogHelper(Class<?> clazz) {
        log = LoggerFactory.getLogger(clazz);
    }

    /**
     * 判断是否开启debug
     *
     * @return boolean
     */
    public boolean isDeDug() {
        return log.isDebugEnabled();
    }

    /**
     * 打印debug日志
     *
     * @param format    格式
     * @param arguments 参数
     */
    public void debug(String format, Object... arguments) {
        log.debug(format, arguments);
    }

    /**
     * 打印debug日志
     *
     * @param format 格式
     * @param e      异常
     */
    public void debug(String format, Exception e) {
        log.debug(format, e);
    }

    /**
     * 打印info日志
     *
     * @param format    格式
     * @param arguments 参数
     */
    public void info(String format, Object... arguments) {
        log.info(format, arguments);
    }

    /**
     * 打印debug日志
     *
     * @param format 格式
     * @param e      异常
     */
    public void info(String format, Exception e) {
        log.info(format, e);
    }

    /**
     * 打印warn日志
     *
     * @param format    格式
     * @param arguments 参数
     */
    public void warn(String format, Object... arguments) {
        log.warn(format, arguments);
    }

    /**
     * 打印warn日志
     *
     * @param format 格式
     * @param e      异常
     */
    public void warn(String format, Exception e) {
        log.warn(format, e);
    }

    /**
     * 打印error日志
     *
     * @param format    格式
     * @param arguments 参数
     */
    public void error(String format, Object... arguments) {
        log.error(format, arguments);
    }

    /**
     * 打印error日志
     *
     * @param format 格式
     * @param e      异常
     */
    public void error(String format, Exception e) {
        log.error(format, e);
    }

}
